package com.ssd.sync.modle;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 同步消息类，用于封装需要同步的数据信息
 * 该类使用了Lombok注解来简化构造过程和提供便捷的访问方法
 *
 * @param <T> 泛型参数，表示可以携带的任意类型数据
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SyncMessage<T> {
    /**
     * 消息的键，通常用于标识消息的类型或用途
     */
    private String key;

    /**
     * 消息的值，可以是任何对象，通常与key关联，表示消息的某个具体数值或状态
     */
    private Object value;

    /**
     * 泛型数据，表示消息的具体内容，可以是任何类型的数据
     * 使用泛型是为了提供更灵活的消息承载能力
     */
    private T data;
}

